package com.chat.api.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 *
 * @ClassName:  ChineseAndEnglishUtil
 * @Description: 判断是中文还是英文
 * @author: Hepengyu
 * @date:   May 15, 2020 8:00:08 PM
 * @Copyright:
 */
public class DecideLangueUtil {
    /**
     *
     * @Title: isChinese
     * @Description:  是否是中文
     * @param c
     * @return: boolean
     * @throws
     */
    public static boolean isChinese(char c) {
        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
            return true;
        }
        return false;
    }

    /**
     *
     * @Title: isEnglish
     * @Description: 是否是英文
     * @param charaString
     * @return: boolean
     * @throws
     */
    public static boolean isEnglish(String charaString) {
        return charaString.matches("^[a-zA-Z]*");
    }

    /**
     *
     * @Title: isChinese
     * @Description: 是否是中文
     * @param str
     * @return
     * @return: boolean
     * @throws
     */
    public static boolean isChinese(String str) {
        String regEx = "[\\u4e00-\\u9fa5]+";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(str);
        if (m.find())
            return true;
        else
            return false;
    }

}

